var menuTree;
var mainTabs;

// 实例化树菜单
$(function () {
    /*浏览器后退按钮全局控制*/
    browserBack();
    /*加载tabs*/
    mainTabsFun();
    /*加载事件*/
    tabClose();
    /*加载右键事件*/
    tabCloseEven();

});

/*TAB选项卡*/
var mainTabsFun = function () {
    if (!mainTabs) {
        mainTabs = $('#mainTabs').tabs({
            fit: true,
            border: false
        });
    }
}

//点击树节点center获取URL内容
var addTabs = function(url, text) {
    mainTabsFun();
    if (mainTabs.tabs('exists', text)) {
        mainTabs.tabs('select', text);
    } else {
        var content = "<iframe frameborder='0' scrolling='auto' style='width:100%;height:100%' src=" + url + "></iframe>";
        mainTabs.tabs('add', {
            title: text,
            closable: true,
            content: content
        });
        tabClose();
    }
}

var tabClose = function () {
   mainTabsFun();
    /* 双击关闭TAB选项卡 */
    $(".tabs-inner").dblclick(function () {
        var subtitle = $(this).children(".tabs-closable").text();
        mainTabs.tabs("close", subtitle);
    });
    /* 为选项卡绑定右键 */
    $(".tabs-inner").bind("contextmenu", function (e) {
        $("#mm").menu("show", {
            left: e.pageX,
            top: e.pageY
        });

        var subtitle = $(this).children(".tabs-closable").text();

        $("#mm").data("currtab", subtitle);
        mainTabs.tabs("select", subtitle);
        return false;
    });
}

// 绑定右键菜单事件
var tabCloseEven = function () {
    mainTabsFun();
    // 刷新
    $("#mm-tabupdate").click(function () {
        var currTab = mainTabs.tabs("getSelected");
        var url = $(currTab.panel("options").content).attr("src");
        if (url == null || url == undefined) {
            //排除首页刷新异常
            return false;
        }
        mainTabs.tabs("update", {
            tab: currTab,
            options: {
                content: "<iframe frameborder='0' scrolling='auto' style='width:100%;height:100%' src=" + url + "></iframe>"
            }
        });
    });
    // 关闭当前
    $("#mm-tabclose").click(function () {
        var currtab_title = $("#mm").data("currtab");
        mainTabs.tabs("close", currtab_title);
    });
    // 全部关闭
    $("#mm-tabcloseall").click(function () {
        $(".tabs-inner span").each(function (i, n) {
            var t = $(n).text();
            if (t != "首页") {
                mainTabs.tabs("close", t);
            }
        });
    });
    // 关闭除当前之外的TAB
    $("#mm-tabcloseother").click(function () {
        $("#mm-tabcloseright").click();
        $("#mm-tabcloseleft").click();
    });
    // 关闭当前右侧的TAB
    $("#mm-tabcloseright").click(function () {
        var nextall = $(".tabs-selected").nextAll();
        if (nextall.length == 0) {
            // msgShow("系统提示","后边没有啦~~","error");
            $.messager.alert("系统提示", "后边没有啦~~");
            //alert("后边没有啦~~");
            return false;
        }
        nextall.each(function (i, n) {
            var t = $("a:eq(0) span", $(n)).text();
            if (t != "首页") {
                mainTabs.tabs("close", t);
            }
        });
        return false;
    });
    // 关闭当前左侧的TAB
    $("#mm-tabcloseleft").click(function () {
        var prevall = $(".tabs-selected").prevAll();
        if (prevall.length == 0) {
            $.messager.alert("系统提示", "到头了，前边没有啦~~");
            return false;
        }
        prevall.each(function (i, n) {
            var t = $("a:eq(0) span", $(n)).text();
            if (t != "首页") {
                mainTabs.tabs("close", t);
            }
        });
        return false;
    });
    // 退出
    $("#mm-exit").click(function () {
        $("#mm").menu("hide");
    });
}


document.onkeyup = function (event) {
    var e = event || window.event;
    var keyCode = e.keyCode || e.which;
    switch (keyCode) {
        case 18:
            refreshCache();
            break;
        default:
            break;
    }
}


/*浏览器后退按钮全局控制*/
var browserBack = function () {
    if (window.history && window.history.pushState) {
        $(window).on('popstate', function () {
            window.history.pushState('forward', null, '#');
            window.history.forward(1);
        });
    }
    window.history.pushState('forward', null, '#'); //在IE中必须得有这两行
    window.history.forward(1);
}


//刷新缓存
var refreshCache = function () {
    $.post("sys/codeItems/refreshCache", function (result) {
        if (result.success) {
            $.messager.show({
                title: '提示',
                msg: result.msg
            });
        } else {
            parent.$.messager.alert('提示', result.msg, 'error');
        }
    }, 'json');
}

